package com.join.learn;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

/**
 * optional增强
 * @author chi  2018-11-13 18:09
 **/
public class OptionalEnhance {


    /**
     * 将一个 Optional 转换成一个 Stream
     */
    public static void main(String[] args) {
        //初始数据
        Optional<List<String>> listOptional = Optional.ofNullable(Arrays.asList("a", "b", "c"));

        //java8 使用方法
        List<Object> dtoList_8;
        if(listOptional.isPresent()){
            List<String> strings = listOptional.get();
            dtoList_8 = strings.stream().map(OptionalEnhance::covert).collect(Collectors.toList());
        }

        //java11 使用方法
        List<Object> dtoList_11 = listOptional.stream().map(OptionalEnhance::covert).collect(Collectors.toList());
    }


    public static Object covert(Object a){
        return "===" + a.toString();
    }
}
